Off-chip micro control and interface in a multichip integrated memory system

ABSTRACT

A communication interface, coupling a controller device to one or more memory devices, provides a high-voltage reset interface. The high-voltage reset interface provides a high-voltage signal to reset the one or more memory devices. The high-voltage reset interface is implemented using a single interconnect line. The reset voltage signal is greater than a maximum voltage representing a high logic value. The communication interface may also include a bi-directional data and address interface that is used to send address, data, and commands between the controller device and the one or more memory devices. A method of transferring information between the controller device and the one or more non-volatile memory devices includes resetting the one or more non-volatile memory devices by asserting a high-voltage signal on the high-voltage reset interface and sending a command from the controller device to the one or more non-volatile memory devices via the data and address interface.

TECHNICAL FIELD

The present invention relates generally to memory systems, and more particularly to an interface between a memory controller or microcontroller and a device containing a nonvolatile memory array.

BACKGROUND

Memory storage capacities of EEPROM and flash memories are being made larger to meet increasing memory requirements. Typically, EEPROM and flash memory devices are available in a single chip or single package configuration. The typical memory device integrated circuit package contains a memory array, a memory controller or microcontroller, and other circuits to, for example, address, program, and erase memory cells within the memory array.

Communications between a computer system and memory elements associated with the computer system are typically performed using a standardized communication bus. For example, when EEPROM or flash memories are used as an onboard ROM device an industry standard high speed communication bus is typically used. When EEPROM or flash memories are used as a portable storage device for a computer system, a communication bus such as a USB is used. In an additional example, when EEPROM or flash memories are used to store audio files, graphics, pictures, and video for a still camera, video camera, or portable audio device, a variety of standardized interfaces are associated with the user device.

Referring to FIG. 1, a typical prior art scheme for interfacing a memory device to a host interface is shown, as described in U.S. Pat. No. 4,731,737 by Witt et al. entitled “High Speed Intelligent Distributed Control Memory System.” A host interface circuit 52 is coupled to a plurality of memory devices 62. An interface 72 includes a clock signal line, a reset line, a read enable line, a write enable line, a chip select line, a status line, a done line and a data interface.

Each memory element in the memory array described by Witt is capable of transferring data between adjacent memory elements during a read operation or during a write operation. However, Witt does not address specific needs for certain memory structures where it is desirable to reduce or minimize control logic or control circuits contained within the memory device chip and minimize a number of pins read by the host interface circuit 52. Also, Witt does not address special needs or signaling that may be advantageous when using nonvolatile memory devices or memory devices other than RAM memory.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a prior art block diagram of memory devices and a host interface circuit.

FIG. 2A is a block diagram of an exemplary interface between a non-volatile memory device and a companion chip or controller chip.

FIG. 2B is a block diagram of an exemplary interface between a plurality of non-volatile memory devices and a companion chip or controller chip.

FIG. 3A is a block diagram of an exemplary high voltage interface circuit which works cooperatively with the non-volatile memory device shown in FIG. 2A.

FIG. 3B is a signal diagram of a high voltage reset operation for the interface shown in FIG. 2A.

FIG. 4 is a block diagram of an exemplary microcontrol interface portion of the high voltage interface circuit of FIG. 2A.

FIG. 5 is a flow chart of an exemplary program operation for the interface shown in FIG. 2A.

SUMMARY

An exemplary communication interface between a controller device and at least one non-volatile memory device is described. The communication interface includes a high voltage reset interface to provide a high voltage signal as a reset indicator. The communication interface may also include a clock interface to provide timing information, and command, data, and address interface to carry operation commands, data, and address information between the controller device and at least one nonvolatile memory device.

DETAILED DESCRIPTION

Flash and EEPROM devices require control circuitry to perform read, erase, and program operations. Considering market requirements for increasing memory size, layout, die size, and packaging, it is more efficient to implement a majority of the memory control circuits in a separate companion or control chip and to minimize the required control logic within a separate memory chip. To maintain packaging and layout efficiency, a restriction on the number of signals coupling the control chip to the memory chip is required. Extra pins on either the control chip or the memory chip increase the cost to manufacture each chip. However, the interface between the control chip and the memory chip must be robust, have a fast data throughput, and be scalable.

With reference to FIGS. 2A and 2B, in a non-volatile memory system 100, an exemplary communication or memory control interface 103 provides required control or signaling functions between a controller 101 (or companion chip) and a memory device 102. The controller 101 may be a microcontroller, a state machine, or other circuit that is configured to interface with the single memory device 102 or to interface with multiple memory devices (discussed infra). The controller 101 provides an external interface (not shown), for example to a computer, and controls various operations performed or interacting with the memory device 102. The memory device 102 is generally a non-volatile memory array, such as a 256 Mbit flash memory or EEPROM device, that includes circuitry or logic to support the memory control interface 103.

The memory control interface 103 pin-out or interface lines and protocol may include the following: a high voltage interface 110 (HVPIN) to provide high voltage control signals to the memory array or memory device 102, a (high voltage) reset interface 112 (HVRST) to provide reset information to the memory device 102, a clock interface 114 (CLK) to provide timing information to the memory device 102, and a address, data, and command interface (ADIO [7:0]) 116 to provide bidirectional command, data, and address information between the controller 101 and the memory device 102. The memory control interface 103 may also optionally include a pin-out or at least one interface line used to specify, select, or activate an individual or target memory device (not shown). A clocking or timing signal presented on the clock interface 114 is generally implemented using a single interface line and is typically generated by the controller 101.

In a specific embodiment of the memory control interface 103, the high voltage interface 110 includes four high-voltage pins or signal lines to control various operations of the memory array (not shown) within the memory device 102. Signaling information presented on the high voltage interface 103 is generally generated and controlled by the controller 101.

The address, data, and command interface 116 includes eight bidirectional multiplexed address/data pins or signal lines to exchange commands, memory array address information, and memory array data. The address, data, and command interface 116 may also be used to reset the memory device 102, to send commands, or to change operating modes of either the controller 101 or the memory device 102. The controller 101 may send a command to the memory device 102 that changes the mode of the address, data, and command interface 116. For example, if the controller 101 signals the memory device 102 that the address, data, and command interface 116 will be operating in a unidirectional mode, the controller 101 sends an address to the memory device 102, thereby suspending the memory device 102 from sending to the controller 101 during the send address operation. Also, the address, data, and command interface 116 may multiplex any commands, addresses information, or data information on the address, data, and command interface 116 lines.

The high voltage reset interface 112 (HVRST) is implemented on a single interconnect line, and is used to reset the memory device 102 by applying a high-voltage that is greater than the voltage of a high logic value or the voltage representing a “one” logic value. The high-voltage for either the high voltage reset interface 112 (HVRST) or the high voltage interface 110 (HVPIN) may be generated by a circuit (not shown) external to the controller 101 and memory device 102, or may be generated by the controller 101. The memory device 102 may also latch the high-voltage reset signal. The high voltage reset interface 112 is a command or mode enable indicator when signaling is used in the range of 1.8 V to 0 V.

The high voltage reset interface 112 may also be used to transmit standard logic signals. For example, the high voltage reset interface 112 may be used as a signal line to indicate to the memory device 102 to operate in a pre-selected mode of operation. The direction of the signaling on the address, data, and command interface 116 pins or lines may be determined by the pre-selected mode of operation. The direction of signaling on the address, data, and command interface 116 pins or lines may also be determined by sending a command from the controller 101 to the memory device 102 via the address, data, and command interface 116.

With reference to FIG. 2B, an exemplary memory control interface 106 provides required control or signaling functions between a controller 101 (or companion chip) and a plurality of memory devices 102 _(a)-102 _(n). The controller 101, high voltage interface 110, high voltage reset interface 112, a clock interface 114 (CLK), and the address, data, and command interface 116 all function as described supra. The signal lines of the memory control interface 106 are routed in parallel to support the plurality of memory devices 102 _(a)-102 _(n).

Referring to FIGS. 3A and 3B, an exemplary reset operation is performed. A high voltage reset interface line 201 (HVRST) (same or similar to the high voltage reset interface 112 in FIG. 2A) is driven to a high voltage 210, for example to 12 Volts, by the controller 101. The high voltage reset interface (HVRST) line 201 is driven to a voltage that is above a minimum threshold to differentiate the high voltage reset signal from a high logic value, for example, 0.7 Volts higher, or approximately 1 Volt higher than a high logic voltage level, when using transistor logic circuits. The high voltage interface (HVRST) line 201 is coupled to a trip circuit 204 within the memory device 102. The trip circuit 204 drives a high-voltage reset indicator (RSTN) line 206 within the memory device 102 to a reset logic value 211 to indicate that a reset event has occurred on the high voltage reset interface (HVRST) line 201. The reset logic value may be a logic one or a logic zero value (inverted). The trip circuit 204 optionally latches the reset logic value.

The trip circuit 204 also includes a mode indicator line 208 that may latch or pass through a standard logic (voltage) level signal that is presented on the high voltage reset interface 112. The signal on the mode indicator line 208 follows or indicates 214 the logic level present 213 on the high voltage interface line 201. For example, if a high logic signal 213 is presented on the high voltage interface line 201, the logic signal is detected and presented 214 on the mode indicator line 208. In one embodiment, the trip circuit 204 latches the logic value present on the mode indicator line 208. When the high logic signal presented on the high voltage interface line 201 transitions 216 to a low logic signal, the state of the logic signal may be latched for a predetermined time interval by the trip circuit 204 until the mode indicator line 208 transitions 218 to a low logic signal. For example, where command, data, or address information is being transferred from the controller 101 to the memory device 102, and a unidirectional communication mode is desired on the address, data, and command interface 116 during the transmission period 219 of the command, data, or address information. In an alternate embodiment, the trip circuit 204 does not latch the logic signal present on the high voltage reset interface line 201 and the unlatched mode indicator line 208 directly passes the logic value present on the high voltage reset interface line 201.

After a reset operation has been performed and the mode indicator has been asserted, a command is sent from the controller 101 to the memory device 102. A command is sent using the address, data, and command interface 116, for example, a single command may be sent using eight address, data, and command interface 116 lines in one clock cycle. Alternatively, other equivalent embodiments may be used, for example an 8-bit command may be sent over four address, data, and command interface 116 lines in two clock cycles. The address, data, and command interface 116 lines are bi-directional and signals or communication may be generated by either the controller device or by the memory device. During a command sending mode, the address, data, and command interface 116 lines are used to communicate from the controller 101 to the memory device 102. After the command has been sent, the communication direction of the address, data, and command interface 116 lines may change based on the just prior command sent.

Table 1 includes a listing of exemplary command functions, the exemplary control codes or operational codes, the effect on the address, data, and command interface 116 and general comments about each function or control code. For example, an erase operation has no effect on the address, data, and command interface 116 with regard to the communication direction or the signaling provided on the address, data, and command interface 116.

TABLE 1 Control [7:0] ADIO [7:0] Function Comments 8′b0000_0000 Idle Idle mode 8′b0000_0001 IO pads are Initmode Required fuses are loaded configured as into the latches in this input mode (fuses can be configuration latches) 8′b0010_0000 — Read Sets the global Read signal and indicates a start of ‘Read’ operation; 1 cycle 8′b0100_0000 — Progm Sets the global Program signal and indicates a start of ‘Program’ operation; 1 cycle 8′b1000_0000 — Erase Sets the global Erase signal and indicates a start of ‘Erase’ operation; 1 cycle 8′bLLLL_1000 Mctrl Micro control signals required during Read, Erase, and Program operations 8′b0000_0111 IO pads are DataIN Data Input mode done configured as after program cmd and input input address 8′b0000_1011 IO pads are DataOut Data output mode after configured as Read/Mctrl output mode 8′b0000_1111 IO pads are AddIN Input address in this configured as mode is latched input

With reference to FIG. 4 and in continuing reference to FIG. 2A, a controller 405 is connected to the memory device 102 through the memory control interface 103. The eight lines of the address, data, and command interface (ADIO [7:0]) 410 a are segregated into group code lines (ADIO [7:5]) 410 b composed of three high-order bit positions and control data lines (ADIO [4:0]) 410 c composed of five low-order bit positions. The group code lines 410 b connect to the input pins of a 1-out-of-8 decoder 415. The control data lines 410 c connect in parallel to input pins of each of eight 5X selectors 430 a, 430 b, . . . 430 h.

From the output pins of the 1-out-of-8 decoder 415, each one of the eight 1-out-of-8 select lines 420 a, 420 b, . . . 420 h connect respectively to an enable input pin EN of a corresponding one of the 5X selectors 430 a, 430 b, . . . 430 h. Each of the 5X selectors 430 a, 430 b, . . . 430 h produces five output lines forming one of eight control-data-line groups 440 a, 440 b, . . . 440 h. Each one of the control-data-line groups 440 a, 440 b, . . . 440 h connects to a corresponding one of eight control groups 450 a, 450 b, . . . 450 h within a control register 450. Each of the control groups 450 a, 450 b, . . . 450 h spans a range of five bit positions. A low order control group 450 a spans bit positions [4:0], six intermediate control groups span bit positions [34:5], and a high order control group 450 h spans bit positions [39:35] for a total of 40 bit positions in the control register 450 spanning positions [39:0].

In a micro control mode (corresponding to the Mctrl function describes supra), a group code, carried by the group code lines 410 b, is decoded to provide a selection signal (not shown) on one of the 1-out-of-8 select lines 420 a, 420 b, . . . 420 h. The selection signal is propagated by the selected one of the 1-out-of-8 select lines 420 a, 420 b, . . . 420 h to the enable input pin EN of the corresponding one of the 5X selectors 430 a, 430 b, . . . 430 h.

A set of control data (exemplified infra) on the control data lines 410 c is enabled for propagation to the corresponding one of the control groups 450 a, 450 b, . . . 450 h by the selection signal. The selection signal, applied to the selected one of the 5X selectors 430 a, 430 b, . . . 430 h, enables propagation of the control data through the one of the control-data-line groups 440 a, 440 b, . . . 440 h coming from the selected 5x selector. In this way the control data is propagated to one of the control groups 450 a, 450 b, . . . 450 h with a corresponding group code. By cycling through a sequence of group codes and supplying a corresponding set of control data for each group code, a complete control word is assembled in the control register 450.

Table 2 correlates the group codes 410 b and exemplary control data received in a corresponding one of the control groups 450 a, 450 b, . . . 450 h.

TABLE 2 Bit Positions [7] [6] [5] [4] [3] [2] [1] [0] FIG. 4 Labels Group Code Control Data Control Group 0 0 0 1 1 1 1 1 450a 0 0 1 1 0 1 0 1 450b . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 0 1 0 0 0 450h

With all code entries, other than those listed above, having a control data value of 00000, a control word is formed in the control register 450 of value: [39:0] 01000_(—)00000_(—)00000_(—)00000_(—)00000_(—)00000_(—)10101_(—)11111

In system operation, a group code value is decoded in one clock cycle and the control data is latched in the respective control group of the control register 450 in a second cycle. For eight control groups 16 clock cycles are required to load a 40 bit control word. The 40 bits of the control word are used to perform all essential programming and reading operations within the memory device 102.

Referring to FIG. 5 and with reference again to FIG. 2A and FIG. 4, a flowchart for an exemplary program operation begins with the submission of a program operation or control code being transmitted on the address, data, and command interface 116 by the controller 101. The controller 101 initially instructs 410 the memory device to operate in an operational mode to program a selected memory cell or selected range of memory cells within the memory device 102. During this first step, global signals may be set within the memory device 102 or a general reset operation may also be performed within the memory device. Next, the controller 101 instructs 420 the memory device 102 to operate in an incoming address mode (AddIn) where, for example, the command is followed by a specific address or address range for a predetermined number of clock cycles. In a specific example, an incoming address mode command is sent to the memory device 102 followed by a specific 32-bit address over a period of four clock cycles where eight interface lines are used to implement the address, data, and command interface 116. Generally, when the memory device 102 is operating in an incoming address mode, the complete address or address range will be latched by the memory device 102 or where memory device 102 column and row address registers are loaded.

After the memory device 102 has latched the address, the controller 101 instructs 430 the memory device 102 to operate in an incoming data mode (DataIn). The incoming data mode command is followed by the specific data bytes that are to be loaded or programmed into the memory array of the memory device 102. The specific data are then programmed or stored in the memory device 102 at the address or location specified during the program operation.

Optionally, the controller 101 may instruct 440 the memory device 102 to operate in a mode enabling the memory device 102 to receive micro control signals. The micro control mode of operation allows the controller 101 to control portions of the memory array or other portions of the memory device 102, for example, an internal sense amplifier. During the micro control mode of operation, the controller 101 may also request a variety of status indicators if required. Status indicators vary depending on the particular instruction. For example, in this case of a program operation, the controller 101 may request how many internal programming cycles have been performed.

After a program or other operation has been completed, the single operational mode is exited 450 and the memory device 102 and the controller 101 are ready to implement the next operation. At exit 450, the controller 101 or the memory device 102 may automatically initiate an internal reset command. Alternatively, a reset is made part of a soft reset in a microcontrol operation.

Presented in this description are exemplary circuits and methods to implement an interface between a controller and a memory device. Those of skill in the art will recognize that the exemplary circuits and methods presented can be practiced with modification and alteration within the spirit and scope of the appended claims. Also, other embodiments will be apparent to those of skill in the art upon reading and understanding the above description. Another example for data and address signaling and interfaces may be an alternative multiplexed or serial data and address interface that may be used. The specification and drawings are therefore to be regarded in an illustrative rather than a restrictive sense. 

1. A computer memory system comprising: a controller capable of producing memory control data; an interface coupled to the controller and capable of propagating in a single input-output data bus reset and mode information on a single line; one or more memory devices coupled to the interface and each one capable of managing data storage by receiving the memory control data; a reset circuit within each of the one or more memory devices, the reset circuit coupled to the interface and configured to produce at least one of a reset signal and a mode assertion signal; a decoder within each of the one or more memory devices, the decoder coupled to the interface and configured to receive address, data, and command information over the single input-output data bus; and a set of control circuitry within each of the one or more memory devices, each set of control circuitry coupled to a respective decoder and capable of producing signaling to control reading, erasing, and programming operations wherein the decoder is capable of decoding command information that is encoded to contain a succession of group code fields each adjoining a control data field, the decoder configured to decode the group code fields to direct placement of each corresponding control data field into control groups within a control word in the one or more memory devices.
 2. The computer memory system of claim 1, wherein the controller contains a single set of control logic capable of producing the memory control data that is received by each reset circuit and each decoder within the one or more memory devices, the single set of control logic alleviates having an instantiation of control logic within each of the one or more memory devices.
 3. The computer memory system of claim 1, wherein the configuration of the reset signal and the mode assertion signal is done on a single line, the mode assertion signal being a variation in the voltage level on the single line between a high logic level and a low logic level and the reset signal being a high voltage reset level on the single line which is greater than a maximum voltage threshold of the high logic level.
 4. The computer memory system of claim 1, wherein the reset circuit includes a high voltage interface to provide high voltage control signals to the memory devices.
 5. The computer memory system of claim 4, wherein the reset circuit includes a four high voltage signal lines connected to the memory devices.
 6. The computer memory system of claim 1, wherein the controller generates a clock signal presented at the interface.
 7. The computer memory system of claim 6, wherein the interface outputs the clock signal using a single interconnect line.
 8. The computer memory system of claim 1, wherein the interface includes a clock interface to provide a clock signal from the control device to the one or more memory devices.
 9. The computer memory system of claim 1, wherein the reset circuit includes a high voltage reset interface.
 10. A method of transferring information between a control device and one or more memory devices, the method comprising: resetting the one or more memory devices by the control device applying a high voltage reset level on a single line, the high voltage reset level being greater than a maximum voltage threshold representing a high logic level; asserting a command mode by the control device applying a transition between a low logic level and the high logic level on the single line; sending command information encoded as a sequence of group code fields each with an adjoining control data field from the control device to the one or more memory devices over a single input-output data bus; decoding the group code fields and each adjoining control data field in the one or more memory devices; and assembling a control word using the group code fields to direct placement of each corresponding control data field into a sequence of control groups within the control word in the one or more memory devices.
 11. The method of claim 10, further comprising sending multiplexed command, data, and memory address information over the single input-output data bus.
 12. The method of claim 10, further comprising synchronizing a command, data, or address signal using a clock interface.
 13. The method of claim 10, further comprising asserting a high voltage program signal from the control device to the one or more memory devices after sending a programming command or an erase command to the one or more memory devices. 